public class Figura {
  private ArrayList <Punto> coord;
  private int index;

  public Figura (ArrayList nCoord) {
    coord = nCoord;
    index = 2;
  }

  public void change() {
    index++;
    if (index == 5) {
      index=2;
    }

    int i;
    Punto tempP;

    coord = new ArrayList();
    for (i=0; i<4; i++) {
      tempP = new Punto( random(0, width), random(0, height)); 
      coord.add( tempP );
    }
  }

  public void draw() {
    switch(index) {
    case 2: 
      ellipse( 
      ((Punto)coord.get(0)).getX(), 
      ((Punto)coord.get(0)).getY(), 
      ((Punto)coord.get(1)).getX(), 
      ((Punto)coord.get(1)).getX()
        );
      break;

    case 3: 
      triangle( 
      ((Punto)coord.get(0)).getX(), 
      ((Punto)coord.get(0)).getY(), 
      ((Punto)coord.get(1)).getX(), 
      ((Punto)coord.get(1)).getY(), 
      ((Punto)coord.get(2)).getX(), 
      ((Punto)coord.get(2)).getY() 
        );
      break;

    case 4:
      quad( 
      ((Punto)coord.get(0)).getX(), 
      ((Punto)coord.get(0)).getY(), 
      ((Punto)coord.get(1)).getX(), 
      ((Punto)coord.get(1)).getY(), 
      ((Punto)coord.get(2)).getX(), 
      ((Punto)coord.get(2)).getY(), 
      ((Punto)coord.get(3)).getX(), 
      ((Punto)coord.get(3)).getY() 
        );
      break;
    }
  }
}

